/**
 * 模块配置
 * Created by lip on 2016/7/13.
 */
let ENVIRONMENT = false;
if (location.href.indexOf('h5.ichangtou.com') > -1) {
  // 正式环境
  ENVIRONMENT = true;
} else {
  ENVIRONMENT = false;
}

/**
 * 配置类
 */
const APPID = 'wxdd25f06df84b18ea' // 测试环境 长投学习
// const TEST_API_DOMAIN = 'https://h5test.ichangtou.com/'; // 测试环境 API域名
const TEST_API_DOMAIN = 'https://ict48test.ichangtou.com/'; // 测试环境 API域名

const API_URL_DOMAIN = TEST_API_DOMAIN;

const apiToken = 'XX:_:w2qlJFV@ccOeiq41ENp><ETXh3o@aX8M<[_QOsZ<d8[Yz:NIMcKwpjtBk0e'; // 测试环境token
// 是否是debug
const IS_DEBUG = location.href.indexOf('localhost') > 0;
/**
 * API请求url
 */
const API_URL_GROUP = {
  'wx_sign': 'wx/signature', // 微信接口签名
  'userinfo_authorization': 'wx/h5/wwzz/authorization/user-info', // 万物增长授权注册
  'base_login': 'wx/h5/wwzz/base/user-info', // 万物增长静默登录

  'get_like_num': 'ict48/sentence-like-num/1', // 获取句子点赞数，剩余点赞数
  'post_like': 'ict48/like/:sentenceId/:playerId/:groupId/1', // 点赞
  'post_share': 'ict48/share/:parentId/1', // 分享
  'get_share_rank': 'ict48/i/share-ranking/1' // 获取分享排行榜
};

export default class Config {
  constructor(state) {
    console.log('configConstructor');
    this.state = {
      refresher: false, // 刷新模块
      follower: true, // 跟随者数量
      rank: false, // 排行榜
      courseImage: true, // 课程广告图片
      mappLink: false, // m站链接
      ghQrcode: true, // 公号二维码
      environment: ENVIRONMENT // 正式环境or测试环境
    }
  }
  // init
  static init() {
    console.log('configInit');
  }
  /**
 * 获取公号主编号；
 * @returns {Array}
 * 0为初始值，没有任何公号主
 */
  static getIct48Id() {
    return Config.getUrlPara('ICT48') || 0;
  }
  /**
 * 获取APPID
 * @returns {string}
 */
  static getAppId() {
    return APPID;
  }
  /**
 * debug状态
 * @returns {boolean}
 */
  static getDebugFlag() {
    return IS_DEBUG;
  }
  /**
   * 获取html地址
   * @returns {*}
   */
  static getHtmlUrl() {
    return location.href.split('?')[0];
  }
  /**
 * 获取DOMAIN
 * @returns {string}
 */
  static getAPIDomain() {
    return API_URL_DOMAIN;
  }
  /**
 * 获取API token
 * @returns {string}
 */
  static getApiToken() {
    return apiToken;
  }
  /**
 * 获取API地址
 * @param type
 */
  static getAPIUrl(type) {
    return Config.getAPIDomain() + API_URL_GROUP[type];
  }

  /**
 * 获取链接中的参数内容
 * @param key
 * @returns {Array}
 */
  static getUrlPara(key) {
    let href = location.href;
    let res = href.split(key + '=');

    if (res[1]) {
      res = decodeURIComponent(res[1].split('&')[0]);
    } else {
      res = null;
    }
    return res;
  }
  /**
   * 是否是微信浏览器
   * @returns {boolean}
   */
  static isWeixin() {
    let ua = navigator.userAgent.toLowerCase();

    return !!(ua.match(/MicroMessenger/i));
  }
  /**
 * 获取重定向的uri
 * @param {boolean} 是否是做userInfo级别的请求
 * @returns {string}
 */
  static getRedirectUri(isUserInfo) {
    let redirectUri = Config.getHtmlUrl();
    let prefix = '?';

    let ICT48;
    if (ICT48 === Config.getIct48Id()) {
      // 把公号主拼接到地址栏中
      redirectUri = redirectUri + prefix + 'ICT48=' + ICT48;
      prefix = '&';
    }

    if (isUserInfo) {
      // 区分baseInfo和userInfo
      redirectUri = redirectUri + prefix + 'isuserinfo=1';
      prefix = '&';
    }
    console.log('redirectUriUencode', redirectUri);
    return encodeURIComponent(redirectUri);
  }
}
